# -*- coding: UTF-8 -*-

#-----------------------------------------------------------------------------
# Name:         Class_ABC_Crypt.py
# Purpose:      Classe de cryptage des logs
#               
#
# Author:      ABCPro
#
# Created:     2007/04/18
# Copyright:   (c) 2007
# Licence:     <your licence>
#-----------------------------------------------------------------------------

import os,sys,time,datetime,base64

if hasattr(sys,"setdefaultencoding"):
    sys.setdefaultencoding("latin-1")
else:
   pass # site.py did it already for us and everything should work

class ABC_Crypt :
    
 
        

  def Crypt (self,text):
      '''Fonction de Cryptage en base64 des logs
         On inclus la date exact de chaque ligne du code
         et on crypt
         @param:
             text : La ligne a encoder en base64
      '''   
      t = time.localtime(time.time())#Structure time
      Hour = time.strftime("%d-%B-%Y   %H:%M:%S", t)  #Date et heure
      texte = ""
      #encodage en base64 de la date ainsi que de la ligne de log
      #texte = base64.encodestring(str(Hour))+ base64.encodestring(text)
      return str(texte)
  
  
  def DeCrypt (self,text):
      '''Fonction de decryptage du log
         utilisée dans les divers lecteur de la suite logiciel
         @param:
             text : la ligne de log a décrypter
      '''
      texte = ""
      #Decodage de la ligne de log
      #texte = base64.decodestring(text)
      return str(texte)


  def LogMes (self,Fiche,Mes):
        '''
        Fonction principale 
        permet l'encodage et l'ecriture de la ligne cryptée dans un fichier
        @param :
            Fiche : le fichier ou les log sont ecrit
            Mes : Le message a crypter
        '''
        File = open(Fiche,"a")
        try:
          Mes = self.Crypt(Mes)
          File.write(Mes)
        except:pass
        File.close()
 
